Tamarin: Concolic Disequivalence for MIPS

نویسنده

  • Abel Nieto
چکیده

Given two MIPS programs, when are they equivalent? At first glance, this is tricky to define, because of the unstructured nature of assembly code. We propose the use of alternating concolic execution to detect whether two programs are disequivalent. We have implemented our approach in a tool called Tamarin, which includes a MIPS emulator instrumented to record symbolic traces, as well as a concolic execution engine that integrates with the Z3 solver. We show that Tamarin is able to reason about program disequivalence in a number of scenarios, without any a-priori knowledge about the MIPS programs under consideration.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

THE IN VITRO GROWTH PROPERTIES OF CELL LINES FROM EPSTEIN-BARR VIRUS-INDUCED TAMARIN TUMORS AND TAMARIN B CELLS TR ANSFORMED BY EPSTEIN BARR VIRUS

EBV-carrying human cell lines, depending on whether the cells are derived from Burkitt's lymphoma (BL) tumor biopsies or transformed by EBV in vitro, have different growth properties in vitro. In contrast, there are no clear differences between tamarin tumor lines and tamarin LCLs in vitro. Both types of tamarin cell lines could grow in agarose and formed colonies unlike human LCLs, althoug...

متن کامل

Experimental Comparison of Concolic and Random Testing for Java Card Applets

Concolic testing is a method for test input generation where a given program is executed both concretely and symbolically at the same time. This paper introduces LIME Concolic Tester (LCT), an open source concolic testing tool for sequential Java programs. It discusses the design choices behind LCT as well as its use in automated unit test generation for the JUnit testing framework. As the main...

متن کامل

Abstraction-driven Concolic Testing

ion-driven Concolic Testing‹ Przemys law Daca, Ashutosh Gupta, and Thomas A. Henzinger 1 IST Austria, Austria 2 Tata Institute for Fundamental Research, India Abstract. Concolic testing is a promising method for generating test suites for large programs. However, it suffers from the path-explosion problem and often fails to find tests that cover difficult-to-reach parts of programs. In contrast...

متن کامل

Scaling Concolic Execution of Binary Programs for Security Applications

Concolic execution is a technique for program analysis that makes the values of certain inputs symbolic, symbolically executes a program’s code, and computes a symbolic logical formula to represent a desired behavior of the program under analysis. The computed formula is then solved by a decision procedure to determine whether the desired behavior is feasible and, if so, provide an example prog...

متن کامل

Scalable Distributed Concolic Testing: A Case Study on a Flash Storage Platform

Flash memory has become a virtually indispensable component for mobile devices in today’s information society. However, conventional testing methods often fail to detect hidden bugs in flash file systems due to the difficulties involved in creating effective test cases. In contrast, the approach of model checking guarantees a complete analysis, but only on a limited scale. In the previous work,...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1801.02571  شماره 

صفحات  -

تاریخ انتشار 2017